Surveillance camera systems are used to help protect people, property, and reduce crime for homeowners, governments, and businesses alike and have become an increasingly cost-effective tool to reduce risk. They can be used to monitor buildings and rooms within buildings. The camera systems can also be used to monitor public areas such as parks or public spaces in and around buildings. In some cases, they are used to catch illegal activity. In other cases, they are used to monitor usage such as shopping patterns in a retail store or traffic levels on public roadways, or detect events that would require the intervention of emergency response personnel.
These camera systems include surveillance cameras, video management systems, and video analytics systems. The surveillance cameras capture images of scenes using imagers such as charge coupled devices (CCDs) or CMOS devices that capture light of a scene and convert the light to electrical signals, and frame capture systems that convert the signals to 2D image data of the scenes. The video management systems communicate with the surveillance cameras over a network, store the images for each of the surveillance cameras, and also distribute the image data to workstations or mobile computing devices for users. The video analytics systems detect and track objects within the scenes, and can notify operators when events associated with the objects occur within the scenes. The video analytics systems can be part of the video management system, or can reside within the individual surveillance cameras, in examples.
The video analytics systems will define a background model of the scenes for each of the surveillance cameras. A background model represents the stationary portion of the scene and generally includes static elements and/or predicted images within the scene. The analytics system computes an average of pixels in multiple scenes over time in order to generate an image of the scene that does not change or changes only very slowly. This time-averaged image of the scene is then used as the background model.
The analytics system then detects and tracks foreground objects against that model. The analytics system uses an object detection and tracking system to detect and track foreground objects such as people and cars within scenes over time, and saves information associated with the detection and tracking as metadata. In one example, people are tracked as they interact with a zone around a door, where the door is defined as part of the model, in one specific example. Analytics systems can provide both live monitoring of individuals and objects, and forensic analysis of saved images to spot trends and search for specific behaviors of interest.
Ground planes are sometimes used to characterize the scenes. A ground plane is generally a 2D surface within a scene that is set at the level of the floor or ground. The ground plane provides perspective via its edges that are parallel to the line of sight. The edges begin at a point near the front of the scene, and converge at the vanishing point on the horizon. Points at the front of the scene form a picture plane, where the picture plane is perpendicular to the axis of the line of sight. The ground plane also typically includes range information. The range information is typically indicated with iso-distance contours that extend transversely across the scene, and are perpendicular to the ground plane's edges.
The foreground objects can be analyzed with respect to the ground plane. The analytics system overlays the foreground objects upon the ground planes to determine intersections between the foreground objects and the ground planes. The points of intersection between the foreground objects and the ground planes can be used to determine the range of the foreground objects. The analytics systems use algorithms to determine sizes or heights of the foreground objects in pixels, and then convert the pixel sizes to an estimate of the actual sizes or heights using the range information of the objects.
These ground planes are typically identified as part of a calibration process. One calibration process uses additional hardware connected to the surveillance cameras to manually define the ground planes. For this purpose, hardware such as a computer system including an interactive computer monitor is typically used. The computer system receives an image of the scene for each surveillance camera and displays the image on the monitor. The operator then uses software provided by the computer system to “draw” an overlay region or virtual area upon the image, which defines the ground plane. The computer system then creates the ground plane from the pixels enclosed by the user-defined region. The computer system repeats this calibration process for each of the surveillance cameras. A second calibration process requires that operators measure the height and locations of one or more reference objects in the scenes for each of the surveillance cameras. The operator then provides this information as input to the calibration process, which creates the ground planes in response.